/*
Arreglo.java
Autor: Luis Antonio Sigüenza Leiva
Carné: 10297
Fecha: 01 de septiembre del 2011
 * Descripcion: cola que implemente un arreglo
*/

public class Arreglo<E> extends QueueAbstracta<E> {
    
    //Atributos de la clase
    public Nodo<E> arreglo1;
    public int count;
    
    
    //Método constructor (personalizad): inicializa el estado del objeto
    public Arreglo(int tamaño){
        arreglo1=null;
        cont=0;
    }
    
    //Metodo que agrega elementos al arreglo
    @Override
    public void add(E e){
        arreglo1= new Nodo<E>(e, arreglo1);
        cont ++;
   
    }
     
    //Metodo que remueve la cabeza de la cola
    @Override
    public E poll(){
        if (cont>0){
        Nodo<E> temp = arreglo1;
        arreglo1 = arreglo1.next(); 
        cont--;
        return temp.getData();
        }
        return arreglo1.getData();
     }
    
    //Metodo que regresa el valor de la cabeza de la cola
    //@Override
    @Override
    public E peek(){
       if (cont>0){
           return arreglo1.getData();
       }
       return null;  
     
    }
    
    //Método que devuelve la cantidad de elementos en la lista
    public int getCont(){
        return this.cont;
    }

    }

        
    
